﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DTO;
using BUS;
using System.Text.RegularExpressions;

namespace CungMuaC5
{
    public partial class Site : System.Web.UI.MasterPage
    {
        public string UserName { get; set; }
        public int IsLogin { get; set; }
        public DTO_TaiKhoan UserAccount;
        BUS_KhuVuc bus_kv = new BUS_KhuVuc();
        protected override void OnInit(EventArgs e)
        {
            UserAccount = Session.GetCurrentUser();
            if (UserAccount == null)
            {
                Session["Login"] = 0;
                IsLogin = (int)Session["Login"];
            }
            else
            {
                Session["Login"] = 1;
                IsLogin = (int)Session["Login"];
            }
            base.OnInit(e);
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            InitPage();            
        }

        private void InitPage()
        {
            UserAccount = Session.GetCurrentUser();
            IsLogin = (int)Session["Login"];
            if (UserAccount == null)
            {
                hlDangNhap.Text = "";
                hlDangKiTaiKhoan.Text = "Đăng Ký";
                hlDangKiTaiKhoan.NavigateUrl = "~/Account/Register.aspx";
                DangNhap.Text = "Đăng Nhập";
                DangXuat.Text = "";
            }
            else
            {
                UserName = UserAccount.HoTen;
                hlDangNhap.Text = UserName;

                if (UserAccount.LoaiTK == 0)
                {
                    hlDangNhap.NavigateUrl = "~/Account_Member/ThongTinTaiKhoan.aspx";
                    DangNhap.NavigateUrl = "~/Account_Member/ThongTinTaiKhoan.aspx";
                }
                if (UserAccount.LoaiTK == 1)
                {
                    hlDangNhap.NavigateUrl = "~/Account_Admin/QuanLyTinKM/QuanLyTinKM.aspx";
                    DangNhap.NavigateUrl = "~/Account_Admin/QuanLyTinKM/QuanLyTinKM.aspx";
                }
                if (UserAccount.LoaiTK == 2)
                {
                    hlDangNhap.NavigateUrl = "~/Account_Company/ThongTinDN.aspx";
                    DangNhap.NavigateUrl = "~/Account_Company/ThongTinDN.aspx";
                }

                hlDangKiTaiKhoan.Text = "";
                //hlDangKiTaiKhoan.NavigateUrl = "~/Account/LogOutThanhCong.aspx";
                DangNhap.Text = "";
                DangXuat.Text = "Đăng Xuất";
            }
            if (!IsPostBack)
            {
                List<DTO_KhuVuc> dskv = bus_kv.SelectAll();
                for (int i = 0; i < dskv.Count; i++)
                {
                    ddlDiaDiem.Items.Add(dskv[i].TenKhuVuc);
                }
                ddlDiaDiem.Items.Add("All");
                if (Session.GetDiaDiem() < 0)
                {                    
                    Session.SetDiaDiem(0);
                }
                ddlDiaDiem.SelectedIndex = Session.GetDiaDiem();
            }
        }

        protected void DangXuat_Click(object sender, EventArgs e)
        {
            Session.RemoveAll();
            Response.Redirect("~/Default.aspx");
            InitPage();
        }

        protected void btn_Submit_Click(object sender, EventArgs e)
        {
            string AccountEmail = email.Value;
            string AccountPassword = password.Value;
            string currentURL = Request.Url.AbsoluteUri;

            DTO_TaiKhoan user = new DTO_TaiKhoan();
            BUS_TaiKhoan bus_user = new BUS_TaiKhoan();

            if (AccountEmail == "" && AccountPassword == "")
            {
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Thiếu Thông tin đăng nhập!');window.location='" + currentURL + "';", true);
            }
            else if (AccountEmail == "")
            {
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Thiếu Email!');window.location='" + currentURL + "';", true);
            }
            else if (AccountPassword == "")
            {
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Thiếu Mật khẩu!');window.location='" + currentURL + "';", true);
            }
            else
            {
                user = bus_user.TimKiemTaiKhoan(AccountEmail, AccountPassword);
                if (user != null)
                {
                    Session.SetCurrentUser(user);
                    InitPage();
                    if (Session.GetLoginTurnPage() != 1)
                        Response.Redirect("~/Default.aspx");
                    else
                    {
                        Session.SetLoginTurnPage(0);
                        Response.Redirect(Request.Url.ToString());
                    }
                }
                else
                {
                    //string script = "<SCRIPT LANGUAGE='JavaScript'>alert('Không có tài khoản này')</SCRIPT>";
                    //System.Web.HttpContext.Current.Response.Write(script);
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Sai mật khẩu hoặc Không tồn tại tài khoản có email này!');window.location='" + currentURL + "';", true);
                    return;
                }
            }
        }

        protected void ddlDiaDiem_SelectedIndexChanged(object sender, EventArgs e)
        {
            int indx = ddlDiaDiem.SelectedIndex;
            Session.SetDiaDiem(indx);
            string url = Request.Url.ToString();
            if(url.Contains("Default.aspx")||url.Contains("KhuyenMaiTheoLoai.aspx"))
                Response.Redirect(url);
        }


        protected void btn_RegisEmail_Click(object sender, EventArgs e)
        {
            string sPath = Request.Url.AbsoluteUri; 
            string email = EmailRegisField.Value;
            string thanhpho = (ddlDiaDiem.SelectedIndex + 1).ToString();
            string EmailRegex = @"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";

            if (email == "")
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Thiếu Email!');window.location='" + sPath + "';", true);
            else if (Regex.IsMatch(email, EmailRegex) == false)
            {
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Định dạng Email không phù hợp!');window.location='" + sPath + "';", true);
            }
            else
            {
                if (thanhpho == "3")
                    return;
                else
                {
                    try
                    {
                        BUS_Email_NhanKM emailKM = new BUS_Email_NhanKM();
                        if (emailKM.KiemTraTonTaiEmail(email) == true)
                        {
                            if (emailKM.ThemEmailKM(email, thanhpho) == true)
                            {
                                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Bạn sẽ nhận được tin khuyến mãi từ CungMuaC5 với email vừa đăng kí!');window.location='" + sPath + "';", true);
                            }
                        }
                        else
                            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Message", "alert('Email này đã được đăng kí!');window.location='" + sPath + "';", true);
                    }
                    catch (Exception ex)
                    {

                    }
                }
            }
        }

    }
}